
//2904.最短且字典序最小的美丽子字符串
class Solution {
    public:
        string shortestBeautifulSubstring(string s, int k) {
            //通过滑动窗口遍历字符串，找到最小的长度且最小字典序
            int n=s.size();
            int left=0;
            int one=0;
            string ret;
            for(int right=0;right<n;right++)
            {
                if(s[right]=='1') one++;   //入窗口
                while(one==k)
                {
                    string tmp=s.substr(left,right-left+1);  
                    int a=ret.size(),b=tmp.size();
                    if(a==0||a>b||(a==b&&ret>tmp)) ret=tmp;      //更新窗口
    
                    if(s[left++]=='1') one--;   //出窗口
                }
            }
            return ret;
        }
    };